package com.nutricia.common.api;

import com.nutricia.common.api.request.CreateSystemRoleReq;
import com.nutricia.common.api.request.DeleteSystemRoleReq;
import com.nutricia.common.api.request.SaveRolePermissionReq;
import com.nutricia.common.api.request.UpdateSystemRoleReq;
import com.nutricia.common.api.request.VoidRequest;
import com.nutricia.common.api.result.CreateSystemRoleRes;
import com.nutricia.common.api.result.GetSystemRolesRes;
import com.nutricia.common.api.result.VoidResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 系统角色
 *
 * @author: huangsheng
 * @date: 2017/10/24
 */
@RestController
@RequestMapping("/systemRole")
public interface SystemRoleFacade {

    /**
     * 获取系统角色数据
     *
     * @author: huangsheng
     * @date: 2017/10/24 上午10:38
     */
    @RequestMapping("getSystemRoles")
    GetSystemRolesRes getSystemRoles(@RequestBody VoidRequest voidRequest);

    /**
     * 新增系统角色数据
     *
     * @author: huangsheng
     * @date: 2017/10/24 上午10:38
     */
    @RequestMapping("createSystemRole")
    CreateSystemRoleRes createSystemRole(@RequestBody CreateSystemRoleReq createSystemRoleReq);

    /**
     * 更新系统角色数据
     *
     * @author: huangsheng
     * @date: 2017/10/24 上午10:38
     */
    @RequestMapping("updateSystemRole")
    VoidResult updateSystemRole(@RequestBody UpdateSystemRoleReq updateSystemRoleReq);

    /**
     * 删除系统角色数据（逻辑删除）
     *
     * @author: huangsheng
     * @date: 2017/10/24 上午10:38
     */
    @RequestMapping("deleteSystemRole")
    VoidResult deleteSystemRoe(@RequestBody DeleteSystemRoleReq deleteSystemRoleReq);

    /**
     * 保存角色的权限数据
     *
     * @author: huangsheng
     * @date: 2017/10/26 上午11:57
     */
    @RequestMapping("saveSystemRolePermission")
    VoidResult saveRolePermission(@RequestBody SaveRolePermissionReq saveRolePermissionReq);

}
